package com.ssy.lingxi.report.service.tally;

import com.ssy.lingxi.report.api.vo.request.OperateNoticeVO;
import com.ssy.lingxi.report.entity.report.MemberTallyReportDO;
import com.ssy.lingxi.report.model.bo.MemberTallyReportBO;
import com.ssy.lingxi.report.model.bo.tally.PlatformPurchaseTallyBO;
import com.ssy.lingxi.report.model.vo.response.PurchaseTallyReportVO;

import java.util.List;

/**
 *  采购计数接口定义
 * @author ds
 * @date 2021/5/11
 * @version 2.0.0
 */
public interface IPurchaseTallyService {

    /**
     * 设置合同
     * @param tallyReportO 会员计数报表
     * @param noticeVO 操作通知
     * @return 设置合同
     */
    MemberTallyReportBO setPurchaseTally(MemberTallyReportBO tallyReportO, OperateNoticeVO noticeVO);

    /**
     * 转换采购
     * @param reportBO 会员计数报表
     * @return 转换采购
     */
    PurchaseTallyReportVO convertPurchaseTally(MemberTallyReportBO reportBO);

    /**
     * 转换平台采购
     * @param tallyBO 平台采购统计
     * @return 转换平台采购
     */
    PurchaseTallyReportVO convertPlatformPurchaseTally(PlatformPurchaseTallyBO tallyBO);

    /**
     * 统计计数
     * @param reportList 会员计数报表
     * @return 统计计数
     */
    List<MemberTallyReportDO> statisticsTally(List<MemberTallyReportDO> reportList);
}
